﻿using Cysharp.Threading.Tasks;
using System.Collections.Generic;
using System.IO;
using UnityEngine;

namespace DiverseStudents.Resource.Interface
{
    public interface IResReader
    {
        Object Read(string path);

        UniTask<Object> ReadAsync(string path);

        byte[] ReadBytes(string path);

        UniTask<byte[]> ReadBytesAsync(string path);

        FileStream GetFileStream(string path);

        /// <summary>
        /// Get the list of all files in the specified Mod folder.
        /// </summary>
        /// <returns></returns>
        List<string> GetFileList( );

        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        bool MachingVersion();

        void Close();

        void Reset();
    }
}
